package com.example.studyapp

import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import org.json.JSONObject

var booktextlist = arrayOf("CSMA/CD（Carrier Sense Multiple Access/collision detection，带有冲突检测的载波侦听多路存取）是IEEE 802.3使用的一种媒体访问控制方法。从逻辑上可以划分为两大部分：数据链路层的媒体访问控制子层（MAC）和物理层。它严格对应于ISO开放系统互连模式的最低两层。LLC子层和MAC子层在一起完成OSI模式的数据链路层的功能。\r\n"
        + "\r\n"
        + "CSMA/CD的基本原理是：所有节点都共享网络传输信道，节点在发送数据之前，首先检测信道是否空闲，如果信道空闲则发送，否则就等待；在发送出信息后，再对冲突进行检测，当发现冲突时，则取消发送。\r\n"
        + "\r\n"
        + "CSMA/CD控制方式的优点是：\r\n"
        + "原理比较简单，技术上易实现，网络中各工作站处于平等地位 ，不需集中控制，不提供优先级控制。但在网络负载增大时，发送时间增长，发送效率急剧下降。",
        "初级会计-初级会计实务\r\n"
                + "基本职能:核算与监督\r\n"
                + "拓展职能:预测经济前景、参与经济决策、评价经营业绩\r\n"
                + "会计基础:权责发生制(认账不认钱)、收付实现制\r\n"
                + "会计信息质量要求:可靠性、相关性、可理解性、可比性、实质重于形式、重要性、谨慎性、及时性\r\n"
                + "会计等式:资产＝负债＋所有者权益",
        "初级会计-经济法基础\r\n"
                + "法律关系的要素\r\n"
                + "1.法律关系是由法律关系的主体、法律关系的内容和法律关系的客体三个要素构成的。缺少其中任何一个要素，都不能构成法律关系。\r\n"
                + "2.法律关系的主体包括：自然人、组织（法人和非法人组织）、国家。\r\n"
                + "【注意 1】营利法人包括有限责任公司、股份有限公司和其他企业法人等。\r\n"
                + "【注意 2】非营利法人包括事业单位、社会团体、基金会、社会服务机构等。\r\n"
                + "【注意 3】机关法人、农村集体经济组织法人、城镇农村的合作经济组织法人、基层群众性自治组织法人为特别法人。\r\n"
                + "【注意 4】非法人组织包括个人独资企业、合伙企业、不具有法人资格的专业服务机构等。\r\n"
                + "3.法律关系的内容是指法律关系主体所享有的权利和承担的义务。\r\n"
                + "4.法律关系客体是指法律关系主体的权利和义务所指向的对象。一般认为，法律关系的客体主要包括物、人身人格、精神产品和行为四大类。",
        ("计算机二级C语言\r\n"
                + "【考点1】C程序\r\n"
                + "用C语言编写的程序称为C语言源程序，源程序文件的后缀名为“.c”。源程序经编译后生成后缀名为“.obj”的目标文件，再把目标文件与各种库函数连接起来，生成“.exe”可执行文件。C语言有三种基本结构：顺序结构、选择结构、循环结构。\r\n"
                + "【考点2】main函数\r\n"
                + "又称主函数，是C程序的入口。main后面跟一对小括号和一对花括号，花括号括起来的部分称为main函数的函数体。一个C程序从main函数开始执行，到main函数体执行完结束，而不论main函数在整个程序中的位置如何。每一个程序有且仅有一个main函数，其他函数都是为main函数服务的。\r\n"
                + "【考点3】存储形式\r\n"
                + "计算机在电脑中保存数据是采用二进制形式，由0或1构成的二进制称为位(bit)，八个位构成一个字节(Byte)，1个Byte=8个bit。二进制、八进制、十六进制转化为十进制采用乘法，十进制转化为二进制、八进制、十六进制采用除法。数据的存放位置就是他的地址。")
)
//打开目标窗口按
class book_edit : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_book_edit)
        val mainedit:EditText=this.findViewById(R.id.book_edit_edit)
        val btn_save:Button=this.findViewById(R.id.book_edit_save)
        val title:TextView=this.findViewById(R.id.book_edit_top_title)
        val retbtn:Button=this.findViewById(R.id.book_edit_top_ret)
        //mainedit.text=define1().booktextlist[0].toString()
        mainedit.setText(booktextlist[define_book_list_index])
        btn_save.setOnClickListener {
            booktextlist[define_book_list_index]=mainedit.text.toString()
            Toast.makeText(this@book_edit, "保存成功", Toast.LENGTH_LONG)
                    .show()
        }
        /*if(define_now_book_text.text!=""){
            mainedit.setText(define_now_book_text.text)
        }

        btn_save.setOnClickListener {
            //将数据发送到服务器
            //val jobj=JSONObject(Gson().toJson(jstruct_book_edit_save(username= define_user_name,text=mainedit.text.toString())))
            val js:Jstruct=myjson1.get(json_enum_dataclass.save_book)
            js.client.save_book.date="2021-06-05"
            js.client.save_book.text=mainedit.text.toString()
            val jobj=JSONObject(Gson().toJson(js))
            object : jsonInteraction(jobj){
                override fun myResposeListener(response: JSONObject) {
                    if(save_text_ret(response))
                        Toast.makeText(this@book_edit, "保存成功", Toast.LENGTH_LONG)
                            .show()
                }
            }
        }*/
        retbtn.setOnClickListener {
            this.finish()
        }
    }
    fun save_text_ret(response: JSONObject):Boolean{
        val serj:Jstruct=myjson1.tojstu(response.toString())
        if(serj.error){
            return false
        }
        return true
    }
}